![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
info
pobierz Hejka, prezentuję klasę Pager. Umożliwia ona wygenerowanie pager'a oraz pobranie aktualnych indexów rekordów. Użycie jest proste:
Polączenie pagera z pobieraniem rekordów z bazy:
(edit: te przyklady od wersji 2.5 troche inaczej beda wygladac. poprawne kody w paczce) W podanym przykladzie brakuje oczywiscie sprawdzania, czy dane zapytanie wykonalo sie poprawnie itp. Nie podawałem tego jednak po to, by nie zaciemniać kodu. Klasa generuje unikalne dla każdego pagera (poprzez idPager'a) zmienne, dzięki czemu na stronie może byc kilka pagerów do różnych tabel. Dodatkow, jesli korzystacie z sesji, klasa pamieta strony w sesji, dzięki czemu nie tracone są informacje o aktualnej stronie przy odwiedzaniu innych linków Klasa ma 3 sposoby przechodzenia do kolejnych stron: 1) generuje własny wewnetrzny formularz i go submituje Konstruktor tylko z pierwszym argumentem 2) korzysta z zewnetrznego formularza i musi byc w nim zawarta Konstruktor z pierwszym i trzecim argumentem. Jako trzeci argument należy podać idFormularza zawnętrznego 3) poprzez linki. Należy wówczas określić drugi parametr w konstruktorze, który będzie linkiem podstawowym. Do niego dodany będzie parametr odnosnie strony. Ten sposób generuje ogólne zmienne dla pagera, przez co lepiej żeby dla niego na stronie byl tylko jeden pager. Sposób ten może być wykorzystywany przy wyszukiwarkach. To chyba wszystko. Wszelkiego rodzaju uwagi, sugestie bądź wynalezione błędy proszę zgłaszać. Wysłucham każdej (IMG:style_emoticons/default/smile.gif) Aha, sposób implemetncji klasy dostosowany do php4. Klasa nie korzysta z żadnych dziwnych funkcji, więc można łatwo dostosować ją do php5. Należy tylko metody i zmienne deklarować w sposób odpowiedni dla php5. Wszystkie metody i zmienne zaczynajace się na podkreslenie (_) oznaczają, iż są to metody i zmienne prywatne. A oto przykladowy widok pager'a: Cytat |< << < 21 22 23 24 25 26 27 28 29 30 z 200 > >> >| oczywiscie wszystko to linki oprócz aktualnej strony. Pager jest łatwo konfigurowalny. MOżecie sami okreslic liczbe rekordów na stronie, liczbę stron w pagerze itp. A pozatym niech wam dobrze służy (IMG:style_emoticons/default/smile.gif) edit (2006-04-03) W związku z licznymi uwagami, by klasa nie generowala linkow co x, tylko pare linków przed stroną i parę linków po, wprowadzilem lekkie modyfikacje. Sposób uzywania klasy nie uległ zmianie (jest kompatybilna wstecz (IMG:style_emoticons/default/smile.gif) ). Chcąc użyc nowej metody generowania linków, wystarczy wywołać metodę render() z parametrem true:
Mam nadzieję, że w ten sposób usatysfakcjonowałem parę osób (IMG:style_emoticons/default/winksmiley.jpg) edit (2006-06-13) Dawno nic nie pisalem. Czas zmienic. A wiec jest wersja 2.0 Główne zmiany: 1) odejscie od przesylania pagera formularzem 2) zapisywanie Pagera do tablicy, z której mozna samemu wygenerowac kod html Pager'a 3) PLucie wyjatkami (IMG:style_emoticons/default/smile.gif) 4) no i obecna wersja jest pod php5. Niedlugo dorobie tez wersje pod php4. Zapraszam do sciagania i testowania. W paczce jest kilka przykaldow, min. jak nalezy doczepic generowanie wlasnego kodu html. Jesli zrobicie swoja funkcje generujaca kod html i bedziecie chcieli sie nia podzielic, wyslijcie mi a ja upublikuje wersje demo z wasza funkcja i wygladem pagera. edit: 2.0 jest juz i pod php4 edit (2006-08-22) Wersja 2.01: - dorobilem na szybko ten link. teraz w konstruktorze, jesli podamy drugi parametr i bedzie w nim ciag: #PAGE# to link ten zostanie niezmieniony, czyli bedzie tak jak user podal, za wyjatkiem #PAGE#, ktore zostanie zamienione na numer strony Czyli dla przykladu co podal AxZx powinno byc:
- metoda Render moze zwracac teraz tablicę pagera zamiast kodu html. Należy ustawic na true jej trzeci parametr edit (2007-07-26) Wersja 2.5. Więcej info tu: http://nospor.pl/pager-2.5.html |
|
|
![]() |
![]()
Post
#161
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
O dzięki za info (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#162
|
|
Grupa: Zarejestrowani Postów: 176 Pomógł: 18 Dołączył: 5.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam problem z sortowaniem po dwóch kolumnach. Mam kod
jednak nie srotuje po dwóch kolumnach tylko po pierwszej czyli typ_ogloszenia. Jak zrobić, aby sortowało po dwóch lub więcej wybranych kolumnach? EDIT Poradziłem sobie, dzieki Ten post edytował pianta_d 6.07.2009, 09:18:40 |
|
|
![]()
Post
#163
|
|
Grupa: Zarejestrowani Postów: 355 Pomógł: 50 Dołączył: 20.08.2007 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam taki problem z klasa Pager: kiedy przechodze np. dalej ">" Pager dodaje mi do urla : ppidPager=<nr_strony> i tak np. po kilku przejsciach mam takiego url'a: http://localhost/index.php?menu=stats&ppidPagera=1&ppidPagera=2&ppidPagera=3&ppidPagera=4 ... itd.. Wie ktos moze czym to moze byc spowodowane? Tak tworze obiekt klasy :
|
|
|
![]()
Post
#164
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
a jak wyswietlasz linki pagera? Sam cos jeszcze generujesz?
|
|
|
![]()
Post
#165
|
|
Grupa: Zarejestrowani Postów: 355 Pomógł: 50 Dołączył: 20.08.2007 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
nie, poprostu <?=$pag?>
jedyna rzecz jaka zmienilem w klasie to znak dolaczenia z '?' ma '&' Ten post edytował hondek 15.07.2009, 15:50:21 |
|
|
![]()
Post
#166
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat jedyna rzecz jaka zmienilem w klasie to znak dolaczenia z '?' ma '&' no to zapewne to jest wlasnie przyczyna problemu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#167
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 1.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Czytam i czytam i znaleźć nie mogę. Jak wyciągnąć z pagera tablicę z linkami, zamiast stringa z gotowym formatowaniem. Wszędzie jest napisane, że wystarczy na 3 parametr Render dać true. Jednakże mi to nie działa.
Po takim ustawieniu nadal w zmiennej $pag mam gotowe sformatowane linki. Używam Smarty i wygodniej było by tworzyć linki np. w taki sposób:
Korzystam z rozszerzenia EPager. pozdrawiam |
|
|
![]()
Post
#168
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Metoda Make() zwraca ci tablice. Czytaj komentarze przy funkcjach (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#169
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 30.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
a ja mam takie zapytanie
mam plik ciekawostki.php w nim zawarte jest wyświetlanie ciekawostek oraz dzielenie ich na strony za pomocą tego pagera. na stronie głównej index.php mam warunek:
jak chce przejść do drugiej strony to przenosi mnie do strony głównej a link mam taki index.php?ppidPagera=2 jak zrobić aby zadział pager w momencie kiedy zdefiniowany jest on w innym pliku. |
|
|
![]()
Post
#170
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Wszystko masz w komentarzach
Cytat /** * Konstruktor klasy * * @param string id - unikalne id pagera. * @param string pageLink - adres, jaki będzie generowny do linków w pagerze * Jeśli pageLink zawiera ciąg #PAGE#, oznaczać to będzie, iż link nie będzie modyfikowany przez klase, tylko * będzie wyglądał jak zapodał użytkownik. Jedyne co zostanie podmienione to #PAGE# na numer strony. * Jeśli pageLink będzie nullem, klasa wstawi parametr strony do linku uwzględniając przy tym wszystkie parametry jakie były w linku. * @param mixed userGeneralParam - czy jako parametru strony używać parametru dla danego pagera, czy też ogólnego * true - uzywać * false - nie używać * string - uzywać i ustawić taką nazwę parametru * parametru określonego w $GeneralParamPageNumber */ czyli u Ciebie powinno np. byc
|
|
|
![]()
Post
#171
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 30.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
dzieki wielkieee
|
|
|
![]()
Post
#172
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 15.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mój problem polega na tym, że za cholery nie moge dodać do tego skryptu stronicowania. Poniższy przyklad otwiera się w nowym okienku gdzie w postaci linków wyświatlane są rekordy pobrane z bazy, kliknięty tekst wpisuje się do formulaża w poprzednim okienku. Nie wiem jak dużo będzie rekordów wiec chciałbym dodać stronicowanie (i wyszukiwarke, ale to trochę później), ale za cholery nie wiem jak w tym przypadku to zrobić kombinowałem na sto milionów sposobów i nic, jak stronicowanie działa to nie działa wpisanie tekstu do formulaża i na odwrót. Jeżeli ktoś może mi pomóc bede bardzo wdzięczny. Dzialanie skryptu pokazane jest pod adresem: http://vbch.nazwa.pl/iten/re1/visitas.php tam w formulażu przy polu "Tipo visita" jest link "(dodaj)" po kliknięciu ktorego otwiera się nowe okienko z pożiższym skryptem.
Ten post edytował mwolodzko 12.08.2010, 11:20:40 |
|
|
![]()
Post
#173
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1) Coś dużo choler ci się w tekst wcina.
2) I gdzie tu mój skrypt? 3) W paczce masz podane przykłady. W czym masz konkretnie problem? |
|
|
![]()
Post
#174
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 15.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Konkretnie mój problem polega na tym, że trzeba dodać stronicowanie do tego skryptu, a nie bardzo wiem jak to zrobić, jak dodam stronicowanie to nie działa wpisywanie tekstu do formulaża i na odwrót tak jak pisałem w poprzednim poście.
|
|
|
![]()
Post
#175
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No to pokaż jak dodajesz.
|
|
|
![]()
Post
#176
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 15.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Np tak:
|
|
|
![]()
Post
#177
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Słuchaj... piszesz że masz problem z moim pagerem gdy go dodajesz do swojego kodu. Proszę cię wiec, byś mi podał kod, w którym dodajesz mój pager. A ty co? Podsyłasz mi jakiś zupełnie inny kod.
Jeśli więc nie masz problemu z moim pagerem to czemu zawracasz gitare akurat w tym temacie? |
|
|
![]()
Post
#178
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 15.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ok, mój błąd znalazłem temat w google tytul tematu jest: "Pager (stronicowanie), klasa, php4 i php5", więc jak miałem problem ze stronicowaniem, napisałem tutaj. Nie zauważyłem że to dział: "gotowe rozwiązania".
|
|
|
![]()
Post
#179
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 0 Dołączył: 28.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Coś mi nie działa.
|
|
|
![]()
Post
#180
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Coś mi nie działa. To coś napraw.....Czy tak cięzko napisać czym objawia się to "niedziałanie"? ps: Cytat //...pobranie wyników i ich wyswietlenie Ale wstawiłeś wlasciwy kod w to miejsce?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.09.2025 - 22:36 |